It is useful in certain types of systems comprising a number of separated component devices or units, and which system may have a variety of different configurations, to be able to control thesv individual components via a network, where each component of the system has assigned to it a station or node which has the capability of communicating with the other stations or nodes in the network. This allows coordination of the operation of individual components of the system so as to allow them to function cheaply and effectively as a system. The individual components might be intended to perform functions in a manufacturing process or, in the actual case for which the system to be described was intended, a heating, ventilating, and air conditioning system intended for commercial and manufacturing buildings.
To accommodate such systems having a multitude of different configurations, it is preferable that the network which controls it have the ability to be flexibly configured Furthermore, such systems may well be reconfigured on occasion, and it is highly advantageous to be able to easily conform the control network to the configuration of the system at the same time. It is also desirable that failure of individual nodes of the network will not bring the entire system to a halt. Lastly, it is desirable to be able to connect the individual nodes of the control network to each other for information exchange among them through a single conductor with ground return, or through a pair of conductors. This last requirement dictates serial communication.
There have been available for some time networks which are capable of functioning in this manner. In one type, a particular node serves as a master and mediates communication among itself and the other nodes on a data bus. There are also types involving a number of master nodes of roughly equivalent capabilities which can communicate with each other on the data bus. Among these latter systems, one successful embodiment involves the use of a token which is passed from one master node in the network to the next, possession of the token being necessary for a node to transmit on the data bus. Since only serial communication occurs, it is necessary that only a single node be transmitting at any given time to prevent interference between concurrent messages.
To control or specify which node can transmit on the data bus at any given time, the use of the token, or more properly a token message, allows individual master nodes to designate the next node which is permitted to transmit, by providing it with the token message. To accomplish this, each master node must have a unique network address by which the token message is directed to the desired node. If a particular node has no message when receiving the token message which it wishes to transmit, then it merely passes the token message on to the next designated node. In this way, if every master node has some other master node which transmits a token to it, then each node is assured of eventually having an opportunity to transmit signals on the data bus.
A token message has a preselected unique format which includes first a token passing code which identifies a message as a token message and second a successor address which is the network address of the node to which the token message is directed, and which is to become next active. The transmission of a token message signals that the master node transmitting the token message is attempting to terminate its active status. Each master node must include a successor address register in which the successor address is stored.
In those networks which include a single master node and a number of slave nodes, the master node stores an address list which specifies the order in which the individual slave nodes shall receive the token. In this type of network, the master node must receive control of the network as each of the other nodes completes its activities.
Each of these schemes lacks some capabilities that are desirable in terms of network flexibility and reliability. For example, in the master-slave type of network, if the master node fails for any reason, the entire network fails with it. In the multimaster token passing network, it is difficult to alter the rigid order in which the nodes are allowed to transmit on the line, meaning that a significant amount of time can elapse between occurrence of an event requiring immediate attention and when the particular node again receives the token and is thus allowed to transmit. In certain circumstances, it may be necessary for the node to have the token and the opportunity to transmit more frequently than this, meaning that the network cannot function as efficiently and effectively with the physical system as is desirable.
There are a number of network designs which solve one or another of these problems. For example, in U.S. Pat. No. 4,566,097, the network hardware disclosed allows nodes with higher priority messages to take precedence over those with lower priority messages by transmitting a command causing the nodes or stations with lower priority messages to abort the transmission. U.S. Pat. No. 4,491,946 discloses a token passing network which has a predetermined rigid order in which the token is passed from one node to the other, but does allow for easy addition of nodes to or deletion of nodes from the network. Other U.S. patents which include token passing abilities of nodes within a communications network are Nos. 4,663,748; 4,674,086; 4,566,097; and 4,511,958.
Another problem involves the procedure by which individual nodes are added to or deleted from the network. One procedure involves individual nodes detecting the presence of new nodes on the network by the expedient of each maintaining a counter which is cycled by one through all of the inactive network addresses greater than the individual node's own address and smaller than the successor address for the node involved. This approach has the advantage of simplicity, but if there are a relatively small number of nodes active in the network compared to its maximum allowable size, then it is possible that many cycles of the token are necessary before the network address of the new node is generate by incrementation, and it thus receives a token for the first time.